package xyz.xtt.asset.service;

import org.springframework.transaction.annotation.Transactional;

import xyz.xtt.asset.client.response.MintResponse;
import xyz.xtt.asset.entity.TblThirdOrder;
import xyz.xtt.asset.request.RoseOrderParam;
import xyz.xtt.asset.request.RoseOrderRequest;
import xyz.xtt.pay.client.response.BusinessOrderResponse;
import xyz.xtt.pay.client.response.TblPayOrderDto;

/**
 * @author huqibo
 * @date 2025/02/10
 */
public interface IRoseService {
	/**
	 * 购买玫瑰
	 * 
	 * @param payOrderDto
	 */
	MintResponse rosePayAfter(TblPayOrderDto payOrderDto, boolean third);

	@Transactional(rollbackFor = Exception.class)
	MintResponse mintRoseAfterPay(BusinessOrderResponse businessOrder);

	/**
	 * 玫瑰花三方订单
	 * 
	 * @param roseOrder
	 */
	Boolean thirdOrder(RoseOrderRequest roseOrder);

	/**
	 * 后续流程测试方法
	 * 
	 * @param orderNumber
	 * @return
	 */
	Boolean after(String orderNumber);

	/**
	 * 三方订单本地下单
	 * 
	 * @param param
	 * @return
	 */
	Boolean roseOrder(RoseOrderParam param);

	/**
	 * @param order
	 * @return
	 */
	Boolean thirdOrderMsgAfter(TblThirdOrder order);
}
